Precise digital generator producing clock signals

ABSTRACT

A generator includes an oscillator for producing a clock signal from an N-bit control number. The oscillator includes a first group of cells, with each cell including at least one series connected inverter. A first selection circuit selects a variable number of the cells as a function of the most significant bits of the control number. The oscillator also includes a second group of cells, with each cell including at least one series connected inverter. A second selection circuit selects one of the cells as a function of the least significant bits of the control number. The selected cells of the first and second groups of cells are series connected to form a chain of inverters.

FIELD OF THE INVENTION

[0001] The invention relates to phase-locked loop type clock-signal generators that produce a high-frequency clock signal from a low-frequency clock signal. Among these generators, the invention relates more specifically to those using a digital oscillator producing clock signals whose period is proportional to a binary number received by the oscillator.

BACKGROUND OF THE INVENTION

[0002] A prior art generator 10 of this kind, as illustrated in FIG. 1, has a comparator 12 and a digital oscillator 20 connected in series. An output OUT of the oscillator 20 is connected to an input of the comparator 12. The generator 10 gives a high-frequency signal CKHF (with a period PHF) from a low-frequency reference signal CKBF (with a period PBF).

[0003] The comparator 12 has two inputs to which the high-frequency signal CKHF and the low-frequency reference signal CKBF are applied. The comparator 12 compares the period PHF of the high-frequency signal CKHF with a desired period PHF0. The desired period is, for example, a multiple of the period PBF. The comparator 12 produces a number NR of N0 bits having the following characteristics: NR increases if PHF<PHF0, NR decreases if PHF>PHF0, otherwise NR is constant.

[0004] The comparator 12 produces the number NR, at N serial outputs, in the form of binary clock signals S(1) to S(N) representing the number NR. In the example of FIGS. 1 and 2, N=2^(N0) and the signals S(1) to S(N) indicate the value of the number NR: S(NR+1)=1, and S(i)=0 for all values of i ranging from 1 to N and i≠NR+1. In another example, N=N0 and the signals S(1) to S(N) correspond to N bits of the number NR.

[0005] The digital comparator 20 receives the binary signals S(1) to S(N) and produces the clock signal CKHF at the output OUT. It conventionally includes an odd number of inverters serially connected to form a chain. The period of the signal CKHF obtained depends primarily on the number of inverters and the propagation time of a 0 and a 1 in each inverter.

[0006] An exemplary oscillator 20 is shown in FIG. 2. It has N cells C(1) to C(N) each comprising two inputs a, b and two outputs c, d. The N cells are series connected. The inputs a, b of the cells C(1) to C(N−1) are connected to the outputs c, d of the cells C(2) to C(N). The outputs c, d of the cell C(1) are connected together and form the output OUT of the oscillator 20. The switches INTC(1) to INTC(N) are connected between the inputs a, b of each cell C(1) to C(N). The switches INTC(1) to INTC(N) are controlled by the signals S(1) to S(N). They are closed when the signals S(1) to S(N) are active.

[0007] The cells C(2) to C(N) are identical. Each cell has an even number NC of inverters series connected between the input and the output c and/or between the input b and the output d. Time periods TC0, TC1, possibly different from one another, are needed to propagate a 0 and a 1 respectively in all the elements of a cell C(2) to C(N), especially all the inverters.

[0008] The cell C(1) has a number NC′ of inverters series connected between the input a and the output b and/or the input c and the output d of the cell C(1). The number NC′ is an odd number to obtain the oscillations of the chain of inverters. Time periods TC0′, TC1′, possibly different from one another, are needed to propagate a 0 and a 1 respectively in all the elements of the cell C(1), especially all the inverters.

[0009] The clock-signal generator 10 operates as follows. The comparator gives a number NR0 ranging from 0 to 2^(N0)−1 in the form of the corresponding signals S(1) to S(N). In the example of FIGS. 1 and 2, S(NR0+1)=1 and S(i)=0 for i ranging from 1 to N, and i≠NR0+1. The switches INTC(1) to INTC(N) open and close as a function of the signals S(1) to S(N). The cells C(NR0+2) to C(N) are isolated and the cells C(1) to C(NR0+1) form a chain comprising an add total number of series connected inverters.

[0010] The propagation time of a 0 or a 1 between the cell C(NR0+1) and the cell C(1) depends on the propagation time in each cell. The oscillator 20 gives a signal CKHF at its output OUT. The period of this signal CKHF is equal to PHF=(TC0+TC1)*NR+(TC0′+TC1′) if the propagation time in the switch INTC(NR0+1) is overlooked. The period PHF is therefore proportional to the number NR given by the comparator.

[0011] If the period PHF of the clock signal CKHF obtained is smaller than the period desired PHF0, then the comparator increases the number NR to increase the number of cells in the chain, and thus increase the period of the signal CKHF. Conversely, if the period PHF of the signal CKHF obtained is greater than the desired value, then the number NR is reduced to reduce the period of the signal CKHF.

[0012] The number NR will thus vary gradually until the desired period PHF0 is reached. The amplitude of the variations of NR is modulated as a function of the difference between the real period PHF of the signal CKHF and the desired period. Thus, when the generator 10 starts working, the period PHF is small, far smaller than PHF0 and the comparator will vary the number NR substantially (+10, +50, +100 if necessary) to greatly increase the period PHF. Conversely, when PHF is close to PHF0, the number NR varies in smaller proportions (+1, −1) to obtain PHF=PHF0.

[0013] When NR increases or decreases by 1 respectively, a cell C is added or eliminated respectively in the chain. The minimum variation of the period in the oscillator is therefore equal to TC0+TC1, namely to the sum of the propagation times of a 0 and of a 1 in a cell C. The uncertainty over the period that defines the precision of the oscillator 20 is equal to P0=TC0+TC1.

[0014] The precision of the oscillator thus depends on the propagation times TC0, TC1 in the cells C(2) to C(N), namely the number of inverters NC contained in these cells and the switching times t0, t1 of these inverters. To improve the precision of the oscillator, it is possible to limit the number of inverters in a cell to NC=2 (the minimum) and/or to reduce the switching times of the inverters.

[0015] An inverter generally includes a P-type transistor and an N-type transistor that are series connected. The source of the P-type transistor is connected to a supply VDD and the source of the N-type transistor is connected to ground of the circuit. The gates of the transistors are connected together and form the input of the inverter. The drains of the transistors are connected together and form the output of the inverter.

[0016] The switching time of an inverter of this kind is proportional to L², with L being the length of the gate of the transistors. To reduce the switching times, it is necessary to reduce the gate length L of the transistors. However, the gate length L of the transistors cannot be reduced beyond a minimum length Lmin which depends on the technology chosen to make the integrated circuit. Beyond this limit Lmin, it is no longer possible to make the transistors. The switching time t0, t1 of the inverters therefore cannot be reduced beyond the minimum value t0 min, t1 min.

[0017] Consequently, the propagation times TC0, TC1 in the cells C(2) to C(N) are themselves limited by these minimum values. This approach is therefore not sufficient especially if it is required that the uncertainty with regard to the period of the signal CKHF obtained should be very low, for example 1%. The term uncertainty must be understood to mean the maximum variation in period of the signal CKHF when the number NR varies by 1.

SUMMARY OF THE INVENTION

[0018] In view of the foregoing background, an object of the invention is to provide an oscillator that is different and, in particular, precise, and to provide a clock-signal generator that uses this oscillator. The generator of the invention provides clock signals CKHF with a frequency of about 50 MHZ from a signal with a frequency of about 1 KHz, with an uncertainty of less than 1%.

[0019] The invention also relates to a generator comprising an oscillator producing a clock signal from an N-bit control number, with N being an integer greater than 1.

[0020] These and other objects, advantages and features according to the invention are provided by an oscillator comprising a first group of cells, and a second group of cells. Each cell in the first group of cells comprises at least one series connected inverter, and first selection means to select a variable number of cells of the first group of cells as a function of NH0 most significant bits of the control number. Each cell in the second group of cells comprises at least one series connected inverter and second selection means to select one of the cells of the second group of cells as a function of NL0 least significant bits of the control number. The cells of the first group and the cells of the second group are series connected to form a chain of inverters.

[0021] According to a preferred embodiment, each cell of the second group of cells is assigned a place value j ranging from 1 to NL, with NL being an integer from 1 to N. The second selection means comprises NL switches controlled by signals representing NL0 least significant bits of the control number. Each switch with a place value j is series connected with a cell having the same place value j belonging to the second group of cells between an input point and an output point.

[0022] Two different cells of the second group of cells have different propagation times for a 0 and a 1. Preferably, the difference between the propagation time of a 0 and a 1 in a cell with a place value j of the second group of cells and that of a cell with a place value j−1 is smaller than the relative uncertainty sought for the period of the clock signal obtained.

[0023] When the control number increases by 1, a cell with a place value j of the second group is selected. This selected cell is the cell with the place value immediately higher than that of a previously selected cell, or the cell with a lower place value, and an additional cell of the first group of cells in this case is also selected. The period of the clock signal thus follows the variations of the control number.

[0024] The generator according to the invention may also comprise a comparator to compare the period of the clock signal with a desired period, and give the control number in the form of N logic signals. The control number varies as follows. The control number increases if the period of the clock signal is smaller than the desired period. The control number decreases if the period of the clock signal is greater than the desired period. Otherwise, the control number is constant. Thus, when the control number increases or decreases respectively, then the period of the clock signal increases and decreases respectively.

[0025] According to the preferred embodiment, the generator also has a first decoder to decode the NL0 least significant bits of the control number for providing a first set of NL=2^(NL0) control signals to the second selection means. These control signals have the following properties. SDL(j)=1 if j=NRL+1 for any value of j ranging from 1 to NL, with NRL corresponding to the decimal value of the NL0 least significant bits of the control number.

[0026] The generator may also but not necessarily comprise a second decoder to decode the NH0 most significant bits of the control number, and give the first selection means a second set of NH=2^(NH0) control signals having the following properties. SDH(i)=1 if i=NRH+1 for any value of i ranging from 1 to NH, with NRH corresponding to the decimal value of the NH0 most significant bits of the control number.

[0027] A generator according to the invention may be improved by adding a control circuit to verify the following inequality: 0≦(TC0+TC1)+(TD0(1)+TD1(1))−(TD0(NL)+TD1(NL)). TC0+TC1 is the propagation time of a 0 and a 1 in a cell of the first group of cells. TD0(1)+TD1(1) is the propagation time of a 0 and a 1 in the least significant cell of the second group of cells. TD0(NL)+TD1(NL) is the propagation time of a 0 and a 1 in the most significant cell of the second group of cells. The control circuit produces a control signal if the inequality is not verified, and the comparator increases the control number by one unit when it receives the control signal.

[0028] According to one embodiment of the control circuit, it comprises a reference oscillator to produce a clock signal with a reference period proportional to (TC0+TC1)+(TD0(1)+TD1(1)), and a measurement oscillator to produce a clock signal having a measured period proportional to (TD0(NL)+TD1(NL)). A comparison circuit compares the measured period with a reference period, and gives the active control signal if the measured period is smaller than the reference period.

BRIEF DESCRIPTION OF THE DRAWINGS

[0029] The invention will be understood more clearly and other features and advantages will appear from the following description, made with reference to the appended drawings in which:

[0030]FIG. 1 is a functional block diagram of a clock-signal generator according to the prior art;

[0031]FIG. 2 is a functional block diagram of the oscillator illustrated in FIG. 1;

[0032]FIG. 3 is a functional block diagram of a clock signal generator according to the invention;

[0033]FIG. 4 is a functional block diagram of the oscillator illustrated in FIG. 3; and

[0034]FIG. 5 is a functional block diagram of a control circuit connected to the comparator illustrated in FIG. 3.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0035]FIG. 3 is a functional diagram of a generator 30 according to the invention comprising a comparator 32, two decoders 34, 36 of binary signals and an oscillator 40. The generator 40 produces a high-frequency clock signal CKHF with a period PHF from a low-frequency reference signal CKBF having a period PBF.

[0036] The comparator 32 is identical to the comparator 12 and operates similarly. It has two inputs to which the signals CKHF and CKBF are applied. The comparator 32 compares the period PHF of the signal CKHF with a desired period PHF0. The desired period is, for example, a multiple of the period PBF of the reference signal CKBF. The comparator 12 gives the result of the comparison obtained in the form of a binary number NR with N0 bits having the following characteristics: NR increases if PHF<PHF0, NR decreases if PHF>PHF0, otherwise NR is constant. The binary number NR is produced on N0 serial outputs in the form of binary signals S(1) to S(N0).

[0037] The decoder 34 receives the signals S(1) to S(NL0) corresponding to the word NRL. The word NRL corresponds to the NL0 least significant bits of the number NR. The decoder 34 produces NL=2^(NL0) logic signals SDL(1) to SDL(NL) which indicate the decimal value of the word NRL: SDL(NRL+1)=1, and SDL(i)=0 for any value of i ranging from 1 to NL and i≠NRL+1.

[0038] The decoder 36 receives the signals S(N−NH0) to S(N) corresponding to the word NRH. The word NRH corresponds to the NH0 most significant bits of the number NR, with NH0 being equal to NH0=N−NL0. The decoder 36 produces NH=2^(NH0) logic signals SDH(1) to SDH(NH) that indicate the decimal value of the word NRH: SDH(NRH+1)=1, and SDH(j)=0 for any value of j ranging from 1 to NH and j≠NRH+1.

[0039] The decoders 34, 36 are made similarly according to known diagrams. They include a set of logic gates whose number is a function of the number of signals received at their input.

[0040] The oscillator 40 receives, at NH+NL serial inputs, the signals SDL(1) to SDL(NL), SDH(1) to SDH(NH) and produces the clock signal CKHF at an output OUT that is also connected to an input of the comparator 32.

[0041] The oscillator 40 is described in detail in FIG. 4. It has NH cells C(1) to C(NH) that are series connected. Each cell has two inputs a, b and two outputs c, d. The inputs a, b of the cells C(1) to C(NH−1) are connected to the outputs c, d of the cells C(2) to C(NH), and the output d of the cell C(1) is connected to an output OUT of the oscillator 40. Switches INTC(1) to INTC(NH) are connected between the inputs a and b of the cells C(1) to C(NH). They are controlled by the signals SDH(1) to SDH(NH). The switches INTC(1) to INTC(NH) are closed when the signals SDH(1) to SDH(NH) are active. Otherwise the switches INTC(1) to INTC(NH) are open.

[0042] The oscillator 40 also has a cell C(0) having an input E and an output S series connected between the output c of the cell C(1) and the output OUT of the oscillator 40. The cells C(2) to C(NH) are identical. Each cell comprises an even number NC of inverters series connected between its input a and its output c and/or between its input b and its output d. The cells C(2) to C(NH) have propagation times TC0, TC1 that may be different from one another.

[0043] The cell C(1) has an odd number NC′ of inverters series connected between its input a and its output c and/or between its input b and its output d. The cell C(0) has NL arms parallel connected between the input E and the output S of the cell C(0). Each arm has the following, series connected. A switch INTD(1) to INTD(NL) controlled by the signal SDL(1) to SDL(NL). This switch is closed when the interrupter signal is active. A cell D(1) to D(NL) comprises an even number ND of series connected inverters between an input e and an output s.

[0044] Thus, for the special values of the signals SDL(1) to SDL(NL), SDH(1) to SDH(NH), the cell C(1), a variable number of cells C(2) to C(NH) and a cell D are selected to form a chain of cells in the oscillator 40. The total number of series connected inverters in the chain is an odd number since NC, ND are even numbers and NC′ is an odd number. This enables the oscillation and generation of the signal CKHF.

[0045] Alternative embodiments of the oscillator 40 may be planned. The oscillator 40 is obtained by adding the cell C(0) in the known oscillator 20. The cell C(0) is added in series with the others. In the example of FIG. 4, it is placed between the cell C(1) and the output OUT of the oscillator.

[0046] The cell C(0) could easily be shifted and be series connected, for example, between an input and an output of two adjacent cells C(2) to C(NH). The cell C(0) may be added in the same way to any type of known oscillator that uses a set of series connected inverters to produce a signal CKHF whose period is proportional to the number of selected inverters.

[0047] In the oscillator 40, the cells C(2) to C(NH) comprise an even number NC of inverters, the cell C(1) comprises an odd number NC′ of inverters and the cells D(1) to D(NH) each comprise an even number ND of inverters. These choices of NC, NC′, ND make it possible, regardless the value of the number NR given by the comparator, to ensure that the total number of series connected inverters in the chain is an odd number. This condition is necessary to obtain oscillations.

[0048] However, other choices of NC, ND, NC′ may be made. For example, it is possible to choose NC′ as an even number and ND as an odd number. In this case, preferably, a cell C(1) identical to the cells C(2) to C(NH) is used. It is also necessary, if ND is chosen as an odd number, to take account of the difference between the propagation times of a 0 and a 1 in the cells D in order to size them properly.

[0049] In the oscillator 40, the cells C(2) to C(NH) are selected from signals SDH(1) to SDH(NL) obtained by the decoding of the most significant bits of the number NR given by the comparator. However, if an oscillator according to the invention is made out of cells C(1), C(NH0) directly using the signals S(N−NH0) to S(N) corresponding to the most significant bits of NR, then the decoder 36 is of course eliminated.

[0050] The cells D(1) to D(NL) all have the same number of series connected inverters ND, and in each cell the inverters are identical. Since ND is an even number, the propagation time of a 0 or a 1 are identical in the same cell D(j): TD0(j)=TD1(j)=TD(j).

[0051] The inverters, however, are different from one cell D to another. There are different switching times from one cell D to another. The switching time of the cells D verify the following inequalities:

0≦2*(TD(2)−TD(1))≦ΔP

0≦2*(TD(3)−TD(2))≦ΔP

0≦2*(TD(NL)−TD(NL−1))≦ΔP

0≦(TC0+TC1)+2*(TD(1)−TD(NL))≦ΔP

[0052] TD(j) is the propagation time of a 0 or a 1 in the cell D(j), and ΔP is the uncertainty sought for the period PHF of the high-frequency signal produced by the oscillator. In other words, ΔP is the maximum variation desired by the period PFH of the signal CKHF when NR varies by 1.

[0053] The cells D(1) to D(NL) are not necessarily very fast. They may even have greater propagation times than those of the cells C(1) to C(NH). This facilitates their fabrication. On the contrary, what is important is that the difference between the propagation times of the two adjacent cells D should be small. That is, the inequalities described above should be verified.

[0054] In practice, to make the cells D, inverters having gates with different lengths from one cell to another are used. The switching time of the inverters are proportional to L², with L being the gate length of the inverters. The inverters with the smallest gate length are therefore used to make the cell D(1), and the inverters with the largest gate length are used to make the cell D(NL).

[0055] Operation of the oscillator 40 is similar to that of the oscillator 20. In the following example, it is assumed that N=5, NL0=2 and NH0=3. The oscillator 40 therefore has NH=2^(NH0)=8 cells C(1) to C(8) and its cell C(0) comprises NL=2^(NL0)=4 cells D(1) to D(4). It is assumed, furthermore, that the comparator 32 of the generator 30 produces the binary number NR0=01010 and that the period PHF is smaller than its desired value.

[0056] The circuit 36 decodes the number NRH=010 corresponding to the NH0 most significant bits of NR, and it gives the active signal SDH(3)=1 for enabling the selection of the components C(1) to C(3). The signals SDH(1), SDH(2), SDH(4) to SDH(8) are inactive, and equal to 0.

[0057] The circuit 34 decodes the number NRL=10 corresponding to the NL0 2 least significant bits of NR, and it gives an active signal SDL(3)=1 enabling the selection of the cell D(3). The signals SDL(1), SDL(2), SDL(4) are inactive, and equal to 0. The period PHF of the signal CKHF obtained is equal to 2*(TC0+TC1)+(TC0′+TC1′)+2*TD(3).

[0058] If NR increases by 1, then NR=NR0+1=01011. NRH=010 is identical, and the components C(1) to C(3) are selected. However, the decoding of the number NRL=11 gives the active signal SDL(4)=1 used to select the cell D(4). Since the propagation time TD(4) of the cell D(4) is greater than the propagation time TD(3) of the cell D(3), the period increases. Furthermore, the variation in the period is smaller than ΔP because 2*(TD(4)−TD(3))≦ΔP.

[0059] If NR furthermore increases by 1, then NR=01100. NRH=011 is modified and its decoding gives the signal SD2(4)=1 used to select the components C(1) to C(4). The number NRL=00 is also modified and its decoding gives the signal SDL(1)=1 to select the cell D(1). An additional cell C and the cell D(1) are thus added in the chain. Since (TC0+TC1)+2*(TD(1)−TD(4))≦ΔP, the period increases and the variation in period is below ΔP. Thus, if NR increases, then the period PHF increases accordingly. Conversely, if NR decreases, then the period PHF decreases accordingly.

[0060] The overall operation of the generator 30 is similar to that of the generator 10. The comparator modifies the number NR according to the difference between the period PHF and its desired value PHF0. For example, if during the starting of the generator the period PHF is small, far smaller than its desired value, then the comparator increases the number NR substantially (+5, +50, +100) to increase the period PHF accordingly.

[0061] In another example, if during the starting of the generator the period PHF is large, far lager than its desired value, then the comparator reduces the number NR substantially (−5, −50, −100) to increase the period PHF accordingly. However, when the period PHF is close to its desired value PHF0, then the amplitude of the variations of the number NR varies in smaller proportions (+2, −1, +1).

[0062] Compared with the oscillator 20, the oscillator 40 of the invention is far more precise because the uncertainty with regard to the period PHF of the signal CKHF obtained is very small. The term “uncertainty” must be understood to mean the maximum variation in the period of the signal CKHF when the number NR varies by 1.

[0063] The uncertainty on the period PHF of the signal CKHF obtained is equal to the difference between the propagation times of a 0 and a 1 in two adjacent cells D. The uncertainty is therefore equal to ΔP.

[0064] Compared with the uncertainty ΔP0 on the period of the signal CKHF given by the prior art oscillator 20, the uncertainty ΔP of the oscillator 40 is in the range of ΔP=ΔP0/2^(NL0). In the example described above, the uncertainty is thus divided by 4. The precision of the oscillator 40 is therefore better than that of the oscillator 20.

[0065] If the precision desired for the generator is very strict, namely if the uncertainty ΔP desired for the period of the clock signal CKHF is very low, then it is necessary to choose a number NH0 that it very high. In other words, it is necessary to choose a cell C(0) comprising a large number of cells D.

[0066] As seen above, the switching time of the inverters of a cell are proportional to L², with L being the gate length of the transistors forming the inverters. The inverters with the smallest gate length are used to make the cell D(1) and the inverters with the largest gate length are used to make the cell D(NL).

[0067] However, the variations in the manufacturing method of the integrated circuit provide a lack of precision ΔL on the gate length of all the transistors. ΔL is constant for all the transistors of the same integrated circuit. The lack of precision ΔL obviously leads to uncertainty on the switching time of the inverters, and therefore on the propagation time in the cells D(1) to D(NL).

[0068] In very unfavorable conditions, it is then possible that the following inequality will no longer be met:

0≦(TC0+TC1)+2*(TD(1)−TD(NL))  (eq. NL)

[0069] Thus, it is no longer possible to ensure that the period PHF of the signal CKHF produced by the oscillator 40 will increase and decrease respectively when the number NR increases and decreases respectively. Consequently, the desired precision ΔP can no longer be reached.

[0070] This problem appears clearly in the following example. It is assumed that N=5, NL0=2 and NH0=3. The oscillator 40 therefore comprises NH=2^(NH0)=8 components C(1) to C(8) and NL=2^(NL0)=4 cells H(1) to H(4). It is also assumed that the comparator 32 produces the binary number NR0=01010. Finally it is assumed that 2*TD(4) is greater than TC0+TD0+2*TD(1).

[0071] For NR=NR0=01010, the cell D(3) and the cells C(1) to C(3) are selected. The period PHF is equal to PHF=2*(TC0+TC1)+(TC0′+TC1′)+2*TD(3). When NR is increased by 1, NR=NR0+1=01011, and the cell D(4) and the cells C(1) to C(3) are selected. The period of the signal CKHF obtained therefore increases since the propagation time TD(4) in the cell D(4) is greater than the propagation time TD(3) in the cell D(3). The increase in the period is smaller than ΔP.

[0072] When NR is again increased by 1, NR=NR0+1=01100. The cell D(1) and the cells C(1) to C(4) are selected. Since 2*TD(4) is greater than TC0+TC1+2TD (1), the period of the signal CKHF obtained falls whereas it should have increased with NR.

[0073]FIG. 5 shows a possible improvement of the clock-signal generator of FIG. 4 that eliminates the problems mentioned above, and further improves the precision of the clock signal CKHF produced by the generator. FIG. 5 shows a control circuit 50 which determines if the inequality (equation NL) referred to above is met and, if necessary, gives a control signal to drive the comparator 32.

[0074] The control circuit 50 has a reference oscillator OSCref, an oscillator OSC(NL) and a comparator COMP(NL). The oscillator OSCref gives a clock signal CKref whose period is equal to:

[0075] PCKref=X*((TC0+TC1)+2*TD(1)), with X being an integer.

[0076] The oscillator OSCref is obtained by associating the following in series in a loop: a cell F and X packets of cells. The input of the first packet is connected to the output of the second packet, . . . , the input of X−1^(th) packet is connected to the output of the X^(th) packet, and the input of the X^(th) packet is associated with the output of the cell F whose input is connected to the output of the first packet. Each packet has a cell identical to the cells C(2) to C(NH) of the oscillator 40 and a cell D(1). These two cells are series connected. The signal CKref is, for example, given at the output of the first packet.

[0077] The cell F is a cell comprising an odd number, for example, equal to 1, of series connected inverters. The cell F is necessary because the cells C(2) to C(NH) and the cell D(1) comprise an even number of series connected inverters. The oscillations therefore are not possible without the cell F. Furthermore, if X is large, then the propagation time of a 0 and a 1 in a cell F has little influence on the period PCKref. They have been neglected.

[0078] The oscillator OSC(NL) for its part gives a clock signal CK(NL) whose period is equal to: PCK(NL)=X*2*TD(NL). The oscillator OSC(NL) is similar to the oscillator OSCref. It has a cell F and X packets of cells. Each packet comprises a cell D(NL) identical to that of the oscillator 40. The input of the first packet is connected to the output of the second packet, . . . , the input of the X−1^(th) packet is connected to the output of the X^(th) packet, and the input of the X^(th) packet is connected to the output of the cell F whose input is connected to the output of the first packet. The signal CK(NL) is produced, for example, on an output of the first packet.

[0079] The comparator COMP(NL) has two inputs to which the signals CK(NL) and CKref are applied. The comparator compares the period PCK(NL) with the period of the signal CKref, and gives the comparator 32 a control signal Cde(NL) which has the following characteristics: Cde(NL) is active if PCK(NL)>PCKref, that is, if the following inequality is no longer verified:

0≦(TC0+TC1)+2*(TD(1)−TD(NL))  (eq. NL)

[0080] Otherwise, Cde(NL) is inactive. When it receives the signal Cde(NL), the comparator 32 increments the number NR by 1. This increase by 1 is added, as the case may be, to other increases of the number NR provided by other means and arising out of the difference between the period PHF and its desired value.

[0081] The following example shows the value and operation of the generator 30 using the oscillator 40 and the control circuit 50. The same assumptions as in the previous example are maintained. In particular, 2*TD(4) is greater than TC0+TC1+TD(1). For NR=NR0=01010, the cell D(3) and the cells C(1) to C(3) are selected.

[0082] Since TD(4)>TC0+TC1+TD(1), the signal Cde(4) is active and NR is increased by 2 instead of 1. The signal NR therefore directly takes the value 01100, the cell D(1) and the cells C(1) to C(3) are selected and the period increases. The cell C(4) is finally not selected. It is simply avoided.

[0083] The control circuit 50 can be improved by adding an oscillator OSC(NL−1) and a comparator COMP(NL−1) similar to the elements OSC(NL) and COMP(NL). This verifies the following inequality:

0≦(TC0+TC1)+2*(TD(1)−TD(NL−1))  (eq. NL−1)

[0084] The oscillator OSC(NL−1) gives a clock signal CK(NL−1) whose period is equal to: PCK(NL)=X*2*TD(NL−1). The oscillator OSC(NL−1) is similar to the oscillator OSC(NL). It comprises a cell F and X packets of cells, with each packet comprising a cell D(NL−1) identical to that of the oscillator 40.

[0085] The comparator COMP(NL−1) has two inputs to which the signals CK(NL−1) and CKref are applied. The comparator compares the period PCK(NL−1) with the period of the signal CKref and gives the comparator 32 a control signal Cde(NL−1) which has the following characteristics: Cde(NL−1) is active if PCK(NL−1)>PCKref, namely if the inequality (NL−1) is not verified, otherwise Cde(NL−1) is inactive.

[0086] When it receives the signal Cde(NL−1), the comparator 32 increases the number NR by 1. This increase by one unit is added to the increase by one unit due to the control signal Cde(NL) and, as the case may be, to other increases provided in other ways and caused by the difference between the period PHF and its desired value. Thus, if the signal Cde(NL−1) is active, then the cells D(NL) and D(NL−1) are not selected if NR increases. They are quite simply avoided.

[0087] Of course, if necessary, it is possible to add other oscillators OSC(NL−2) to OSC(1) and associated comparators COMP(NL−2) to COMP(1) to verify all the inequalities pertaining to the cells D(1) to D(NL−2):

0≦(TC0+TC1)+2*(TD(1)−TD(NL−2))  (eq. NL−2)

0≦(TC0+TC1)+2*(TD(1)−TD(NL−3))  (eq. NL−3)

0≦(TC0+TC1)+2*(TD(1)−TD(2))  (eq. 2)

[0088] According to one variation, the signal Cde(NL) is produced and taken into account by the comparator 32 only if the cell D(NL−1) is selected. In this case, the oscillator OSC(NL) and the comparator COMP(NL) are activated whenever the cell D(NL−1) is selected. The signal Cde(NL−1) is produced similarly. It is produced and taken into account by the comparator 32 only if the cell D(NL−2) is selected.

[0089] In another variation, the oscillator OSC(NL) and the comparator COMP(NL) are activated at the starting of the oscillator, and the signal Cde(NL), active or inactive, is memorized. The comparator 32 is then taken into account only if the cell D(NL−1) is selected. The signal Cde(NL−1) is produced similarly. It is produced when the oscillator starts, and is memorized. It is then taken into account only when the cell D(NL−2) is selected. This variation is advantageous because it consumes less energy than the previous one. Indeed, the oscillator OSC(NL) and the comparator COMP(NL) can be deactivated as soon as the signal Cde(NL) is memorized.

[0090] Preferably, the associated oscillator OSC(NL−1) and comparator COMP(NL−1) are used (either when starting or whenever the cell D(NL−2) is selected) only if the signal Cde(NL) is active. This further limits the consumption of the circuit. 

That which is claimed is:
 1. A generator comprising an oscillator producing a clock signal (CKHF) from an N-bit control number (NR), N being an integer greater than 1, wherein the oscillator (40) comprises: a first group of cells comprising cells (C(1) to C(NH)), each cell having at least one series-connected inverter, and first selection means to select a variable number of cells of the first group of cells as a function of NH0 most significant bits of the control number (NR), and a second group of cells comprising cells (D(1) to D(NL)), each cell comprising at least one series-mounted inverter and second selection means to select one of the cells of the second group of cells as a function of NL0 least significant bits of the control number (NR), the cells of the first group and the cell of the second group selected being series-mounted to form a chain of inverters.
 2. A generator according to claim 1, wherein each cell (C(1) to C(NL)) of the second group of cells is assigned a place value j ranging from 1 to NL, and wherein the second selection means comprise NL switches (INTD(1) to INTD(NL)) controlled by signals (SDL(1) to SDL(NL)) representing NL0 least significant bits of the control number (NR), each switch (INTD(j)) being series-mounted with a cell having a same place value j between an input point (E) and an output point (S).
 3. A generator according to claim 1, wherein two different cells of the second group of cells, having respective place values j, k, j≠k , have different propagation times (TD0(j)+TD1(j), TD0(k)+TD1(k)) for a 0 and a
 1. 4. A generator according to claim 1, wherein, the difference between the propagation time (TD0(j)+TD1(j)) of a 0 and a 1 in a cell with a place value j of the second group of cells and that of a cell (TD0(j−1)+TD1(j−1) with a place value j−1 is smaller than the relative uncertainty (ΔP) sought for the period of the clock signal (CKHF) obtained.
 5. A generator according to claim 1 wherein, when the control number (NR) increases by 1, a cell (D(j)) with a place value j of the second group is selected, this selected cell being: the cell with the place value immediately higher than that of a previously selected cell (D(j−1)), or the cell with a lower place value (D(1), an additional cell of the first group of cells (C(I+1) being in this case also selected.
 6. A generator according to claim 1, also comprising a comparator (32) to compare the period (PHF) of the clock signal with a desired period and give the control number (NR) in the form of N logic signals (S(1), the control number varying as follows: the control number (NR) increases if the period (PHF) of the clock signal (CKHF) is smaller than the desired period (PHF0), the control number (NR) diminishes if the period (PHF) of the clock signal (CKHF) is greater than the desired period (PHF0), else the control number (NR) is constant.
 7. A generator according to claim 1, also comprising a first decoder (34) to decode the NL0 least significant bits of the control number (NR) and give a first set of NL=2^(NL0) control signals (SDL(1) to SDL(NL)) to the second selection means, this first set of control signals having the following properties: SDL(j)=1 if j=NRL+1 for any value of j ranging from 1 to NL, NRL corresponding to the decimal value of the NL0 least significant bits of the control number (NR).
 8. A generator according to claim 1, also comprising a second decoder (36) to decode the NH0 most significant bits of the control number (NR) and give the first selection means a second set of NH=2^(NH0) control signals (SDH(1) to SDH(NH)) having the following properties: SDH(i)=1 if i=NRH+1 for any value of i ranging from 1 to NH, NRH corresponding to the decimal value of the NH0 most significant bits of the control number (NR).
 9. A generator according to claim 1, also comprising a control circuit (50) to verify the following inequality: 0≦(TC0+TC1)+(TD0(1)+TD1(1))−(TD0(NL)+TD1(NL)) TC0+TC1 being the propagation time of a 0 and a 1 in a cell of the first group of cells, TD0(1)+TD1(1) being the propagation time of a 0 and a 1 in the least significant cell (D(1)) of the second group of cells, TD0(NL)+TD1(NL) being the propagation time of a 0 and a 1 in the most significant cell (D(NL)) of the second group of cells, the control circuit producing a first control signal (Cde(NL)) if the inequality is not verified.
 10. A generator according to claim 9, wherein the control circuit (50) comprises: a reference oscillator (OSCref), to produce a clock signal with a reference period proportional to (TC0+TC1)+(TD0(1)+TD1(1)), a first measurement oscillator (OSC(NL)) to produce a clock signal having a measured period proportional to (TD0(NL)+TD0(NL)), and a first comparison circuit (COMP(NL)) to compare the measured period with a reference period and give the first active control signal (Cde(NL)) if the measured period is smaller than the reference period.
 11. A generator according to claim 9, wherein the comparator (32) increases the control number (NR) by one unit when it receives the control signal (Cde(NL)).
 12. A generator according to claim 10 wherein, to verify the inequality: 0≦(TC0+TC1)+(TD0(1)+TD1(1))−(TD0(NL−1)+TD1(NL−1)), TC0+TC1 being the propagation time of a 0 and of a 1 in a cell of the first group of cells, the control circuit also comprises: a second measurement oscillator (OSC(NL−1)) to produce a clock signal having a second measured period proportional to (TD0(NL−1)+TD1(NL−1)), and a second comparison circuit (COMP(NL−1)), to compare the second period with the reference period and give a second active control signal (Cde(NL−1)) if the measured period is smaller than the reference period.
 13. A generator according to one of the claims 10 to 12, wherein the control circuit is activated when the oscillator starts, the first control signal (Cde(NL)) and/or the second control signal (Cde(NL−1)) produced by the control circuit being memorized.
 14. A generator according to claim 13, wherein the first control signal (Cde(NL)) is taken into account only when the cell (D(NL−1)) with the place value NL−1 of the second group of cells is selected.
 15. A generator according to claim 13, wherein the second control signal (Cde(NL−1)) is taken into account only when the cell (D(NL−2)) with the place value NL−2 of the second group of cells is selected.
 16. A generator according to one of the claims 10 to 12, wherein the control circuit is activated whenever the cell (D(NL−1)) with the place value NL−1 of the second group of cells is selected.
 17. A generator according to one of the claims 10 to 12, wherein the control circuit is activated whenever the cell (D(NL−2)) with the place value NL−2 of the second group of cells is selected. 